package com.yuanfeng.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanfeng.business.dto.GdbMerchantTransportTemplateDTO;
import com.yuanfeng.business.dto.ManageTransportTemplateDTO;
import com.yuanfeng.business.dto.ShippingQueryListDTO;
import com.yuanfeng.business.dto.UserTokenBeanDTO;
import com.yuanfeng.business.entity.ShopTransportTemplateEntity;
import com.yuanfeng.commoms.util.ResponseResult;
import com.yuanfeng.commoms.vo.shop.TransportTemplateVO;

import java.util.List;

/**
 * @ClassName ShopTransportTemplateService
 * @Description  运费模板表
 * @Author cyp
 * @Date 2023-05-29 13:55:18
 * @Version 1.0
 **/
public interface ShopTransportTemplateService extends IService<ShopTransportTemplateEntity> {
    /**
     * 查询运费
     * @param message
     * @return
     */
     ResponseResult queryShipping(String message);

    /**
     * 获取商品信息 及 活动信息
     * @param goodsId
     * @return
     */
    ResponseResult getGoodsDetails(Integer goodsId);

    /**
     * 查询运费模板列表
     *
     * @param param
     * @return
     */
    ResponseResult queryTransportTemplateList(UserTokenBeanDTO param);

    /**
     * 删除运费模板
     *
     * @param param
     * @return
     */
    ResponseResult deleteTransportTemplate(ManageTransportTemplateDTO param);

    /**
     * 更新或新增运费模板
     *
     * @param param
     * @return
     */
    ResponseResult updateTransportTemplate(GdbMerchantTransportTemplateDTO param);

    /**
     * 查询运费模板
     *
     * @param param
     * @return
     */
    ResponseResult queryTransportTemplateDetail(ManageTransportTemplateDTO param);

    /**
     * 平台 查询某个商品运费
     *
     * @param param
     * @return
     */
    ResponseResult queryShippingQuery(ShippingQueryListDTO param);

    /**
     * 商家查找运费模板
     *
     * @param transportTemplate
     * @return
     */
    ResponseResult selectTemplateById(Integer transportTemplate);


    /**
     * 通过店铺id查询
     *
     * @param shopId
     * @return
     */
    List<TransportTemplateVO> selectByShopId(Integer shopId);
}
